/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Ventanas;

import Online.Inicio;
import java.awt.Color;
import java.awt.Container;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

/**
 * @author Alvaro Garcia Tapia
 * @author Pablo Mosquera Diaz
 * @author Victor Navarro Ortego
 * @author Adrian Neila Serrano
 * @author Daniel Sanchez Suarez
 * 
 * @proyecto Gestor de Tareas Online
 * @version 1.2
 */
public class VentanaDatosUser extends JFrameConFondo implements ActionListener{
     
        //Creación de variables
	private JButton botonSiguiente;
	private JButton botonCancelar;
	private JButton botonInicio;
	private String name;
	private String pregunta;
        private String respuesta;
        private JLabel labelNombre;
        private JTextField Nombre;
	private String nombre;	
        private JLabel labelApellidos;
        private JTextField Apellidos;
	private String apellidos;	
        private JLabel labelEmail;
        private JTextField Email;
	private String email;	
        private JLabel labelPais;
        private JTextField Pais;
	private String pais;	
        private JLabel labelCiudad;
        private JTextField Ciudad;
	private String ciudad;	
        private Inicio inicio;
        private int x;
        private int y;
    
    public VentanaDatosUser(String name,String pregunta,String respuesta,String nombre,String apellidos,String email,String pais,String ciudad){
     //constructor JFrame
		super("Gestor de Tareas Online"); 
                //Inicialización de variables
		this.name = name;
                this.pregunta = pregunta;
                this.respuesta = respuesta;
                this.nombre = nombre;
                this.apellidos = apellidos;
                this.email = email;
                this.pais = pais;
                this.ciudad = ciudad;
                
                //Dimensiones de la pantalla
                Dimension dim=super.getToolkit().getScreenSize(); 
                x = (int)dim.width;
                y = (int)dim.height;
                
                
                //Opciones de ventana
                this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
                //se añade la opción de preguntar antes de salir
                addWindowListener(new java.awt.event.WindowAdapter() {
                    public void windowClosing(java.awt.event.WindowEvent evt) {
                        close();
                    }
                });
		setLayout(null);
		setSize(350,350);
                setExtendedState(MAXIMIZED_BOTH);
		Container contenidoPanel = getContentPane();
		contenidoPanel.setBackground(Color.LIGHT_GRAY);
                setImagen("objetos/fondo.jpg");
                setIconImage(new ImageIcon(getClass().getResource("objetos/icono.png")).getImage()); 
                
                
                
                //Cuadrante de introducción de nombre
		labelNombre = new JLabel("Nombre:");
                labelNombre.setBounds((int)(x*0.3),(int)(y*0.1),300,15);
                labelNombre.setForeground(Color.white);
                labelNombre.setFont(new java.awt.Font("Arial", 1, 16)); 
		getContentPane().add(labelNombre);
		this.Nombre = new JTextField();
                this.Nombre.setText(this.nombre);
                this.Nombre.setFont(new java.awt.Font("Arial", 0, 16)); 
		this.Nombre.setBounds((int)(x*0.3),(int)(y*0.125),200,25);
                this.Nombre.setActionCommand("Siguiente");
		this.Nombre.addActionListener(this);
		getContentPane().add(this.Nombre);
                
                
                //Cuadrante de introducción de apellidos
		labelApellidos = new JLabel("Apellidos:");
                labelApellidos.setBounds((int)(x*0.5),(int)(y*0.1),300,15);
                labelApellidos.setForeground(Color.white);
                labelApellidos.setFont(new java.awt.Font("Arial", 1, 16)); 
		getContentPane().add(labelApellidos);
		this.Apellidos = new JTextField();
                this.Apellidos.setText(this.apellidos);
                this.Apellidos.setFont(new java.awt.Font("Arial", 0, 16)); 
		this.Apellidos.setBounds((int)(x*0.3),(int)(y*0.225),200,25);
                this.Apellidos.setActionCommand("Siguiente");
		this.Apellidos.addActionListener(this);
		getContentPane().add(this.Apellidos);
                
                
                //Cuadrante de introducción de email
		labelEmail = new JLabel("Correo electrónico:");
                labelEmail.setBounds((int)(x*0.3),(int)(y*0.3),300,15);
                labelEmail.setForeground(Color.white);
                labelEmail.setFont(new java.awt.Font("Arial", 1, 16)); 
		getContentPane().add(labelEmail);
		this.Email = new JTextField();
                this.Email.setText(this.email);
                this.Email.setFont(new java.awt.Font("Arial", 0, 16)); 
		this.Email.setBounds((int)(x*0.3),(int)(y*0.325),200,25);
                this.Email.setActionCommand("Siguiente");
		this.Email.addActionListener(this);
		getContentPane().add(this.Email);
                
                
                //Cuadrante de introducción de pais
		labelPais = new JLabel("País:");
                labelPais.setBounds((int)(x*0.3),(int)(y*0.2),300,15);
                labelPais.setForeground(Color.white);
                labelPais.setFont(new java.awt.Font("Arial", 1, 16)); 
		getContentPane().add(labelPais);
		this.Pais = new JTextField();
                this.Pais.setText(this.pais);
                this.Pais.setFont(new java.awt.Font("Arial", 0, 16)); 
		this.Pais.setBounds((int)(x*0.5),(int)(y*0.125),200,25);
                this.Pais.setActionCommand("Siguiente");
		this.Pais.addActionListener(this);
		getContentPane().add(this.Pais);
                
                
                //Cuadrante de introducción de ciudad
		labelCiudad = new JLabel("Ciudad:");
                labelCiudad.setBounds((int)(x*0.5),(int)(y*0.2),300,15);
                labelCiudad.setForeground(Color.white);
                labelCiudad.setFont(new java.awt.Font("Arial", 1, 16)); 
		getContentPane().add(labelCiudad);
		this.Ciudad = new JTextField();
                this.Ciudad.setText(this.ciudad);
                this.Ciudad.setFont(new java.awt.Font("Arial", 0, 16)); 
		this.Ciudad.setBounds((int)(x*0.5),(int)(y*0.225),200,25);
                this.Ciudad.setActionCommand("Siguiente");
		this.Ciudad.addActionListener(this);
		getContentPane().add(this.Ciudad);
                
                //Constucción del boton Aceptar
		botonSiguiente = new JButton("Siguiente"); 
		botonSiguiente.setBounds((int)(x*0.55),(int)(y*0.45),150,30);
                botonSiguiente.setFont(new java.awt.Font("Arial", 1, 16)); 
                botonSiguiente.setActionCommand("Siguiente");
		botonSiguiente.addActionListener(this);
                botonSiguiente.setIcon(new ImageIcon(getClass().getResource("objetos/Aceptar Siguiente Usuario.jpg")));
                add(botonSiguiente);
                		
                //Constucción del boton Cancelar
		botonCancelar = new JButton("Cancelar"); 
		botonCancelar.setBounds((int)(x*0.3),(int)(y*0.45),150,30);
                botonCancelar.setFont(new java.awt.Font("Arial", 1, 16)); 
                botonCancelar.setActionCommand("Cancelar");
		botonCancelar.addActionListener(this);
                botonCancelar.setIcon(new ImageIcon(getClass().getResource("objetos/Cancelar Nuevo Usuario.jpg")));
                add(botonCancelar);
                
                
                //Se indica que la ventana sea visible
		setVisible(true);
                
    }
    
    
        /**
         * Función que se encarga de cerrar el programa
         */
        public void close(){
                this.setCursor(Cursor.WAIT_CURSOR);
                //Si se pulso el boton Logout
                String message = "¿Está seguro de que quiere salir?";
                String title = "Logout";
                //Se da la opcion de cerrar o no
                int reply = JOptionPane.showConfirmDialog(null, message, title, JOptionPane.YES_NO_OPTION);
                this.setCursor(Cursor.DEFAULT_CURSOR);
                //Si se decide cerrar
                if (reply == JOptionPane.YES_OPTION)
                {     
                    this.setCursor(Cursor.WAIT_CURSOR);
                    //Aviso de desconexion
                    new AvisoDesconexion();
                    //Cierre del programa
                    System.exit(0);
                    this.setCursor(Cursor.DEFAULT_CURSOR);
                }
        }

    @Override
    public void actionPerformed(ActionEvent e) {
        //Variable que indica que boton se ha pulsado
        String comando = e.getActionCommand();
        this.setCursor(Cursor.WAIT_CURSOR);
        if(comando.equals("Siguiente")){
            if (!this.Nombre.getText().equals("") && !this.Apellidos.getText().equals("") &&
                !this.Pais.getText().equals("") && !this.Ciudad.getText().equals("") &&
                !this.Email.getText().equals("")){
                new VentanaNuevoUser(name,pregunta,respuesta,Nombre.getText(),Apellidos.getText(),Email.getText(),
                                    Pais.getText(),Ciudad.getText(),true);
                setVisible(false);
                setDefaultCloseOperation(DISPOSE_ON_CLOSE);
            }
            else
		JOptionPane.showMessageDialog (null,"Debe rellenar todos los campos.",
				"Atención", JOptionPane.INFORMATION_MESSAGE);
        }
        
        //Si se ha pulsado cancelar
        else if(comando.equals("Cancelar")){
            new VentanaInicio();
            setVisible(false);
            setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        }
        this.setCursor(Cursor.DEFAULT_CURSOR);
    }
    
}
